A Tamper-Detecting Implementation of Lisp
نویسنده
چکیده
An important and recurring security scenario involves the need to carry out trusted computations in the context of untrusted environments. It is shown how a tamper-detecting interpreter for a programming language – specifically Lisp 1.5 – combined with the use of a secure co-processor can address this problem. The term “tamper-detecting” means that any attempt to corrupt a computation carried out by a program in the language will be detected on-line and the computation aborted. This approach executes the interpreter on the secure coprocessor while the code and data of the program reside in the larger memory of an associated untrusted host. This allows the co-processor to utilize the host’s memory without fear of tampering even by a hostile host. This approach has several advantages including ease of use and the ability to provide tamper-detection for any program that can be constructed using the language. 1. Computing in a Hostile Environment An important and recurring security scenario involves the need to carry out trusted computations in the context of untrusted environments. One approach is to combine a secure co-processor [6][15] with an untrusted host computer. The secure co-processor provides the environment in which to perform trusted computations, and the insecure host provides additional resources that may be used by the trusted processor. Unfortunately, there is no guarantee that the host will not tamper with the resources used by the secure co-processor in an attempt to corrupt the operation of the secure co-processor. This paper demonstrates a solution where a programming language system – specifically Lisp 1.5 – is used to provide a convenient and general mechanism for tamper-detecting utilization of a specific resource, namely the memory of an untrusted host. An interpreter for the language system resides on the secure co-processor, but the programs and data executed by the interpreter reside in the memory of the untrusted host. In this context, the term “tamper-detecting” means that any attempt to corrupt a computation carried out by a program in the language will be detected on-line (before the computation is complete), and the computation will be aborted. In order to limit the scope of the problem, only the issue of integrity is addressed in this paper; the issue of confidentiality is deferred. It seems reasonable, however, to assume that adding confidentiality is a straightforward application of encryption to the values stored in the host memory.
منابع مشابه
Impact of Tamper Shape on the Efficiency and Vibrations Induced During Dynamic Compaction of Dry Sands by 3D Finite Element Modeling
Dynamic compaction is a soil improvement method which has been widely used for the increase of bearing capacity through stress wave propagation during heavy tamping. The cost and time of project implementation can be effectively curtailed by developing a model that can be used in the design of dynamic compaction operations. The numerical models offered so far are mostly one or two-dimensional, ...
متن کاملA Tamper-Resistant Programming Language System ; CU-CS-1010-06
An important and recurring security scenario involves the need to carry out trusted computations in the context of untrusted environments. It is shown how a tamper-resistant interpreter for a programming language – currently Lisp 1.5 – combined with the use of a secure co-processor can address this problem. This solution executes the interpreter on the secure coprocessor while the code and data...
متن کاملLisp-in-Lisp: High Performance and Portability
Until recently every Lisp implementation has had either a relatively large assembly language core or extensive microcode support. We have been working on a Common Lisp [Steele 1982] for the S-1 Mark IIA super-computer being developed at LLNL, producing an implementation that has high performance, exploits the complex architecture of the S-1, and which is almost entirely written in Lisp [Brooks ...
متن کاملNeun Portable Standard LISP for Cray X - MP Computers Preprint SC 86 - 2 ( Dezember 1986 )
Portable Standard LISP (PSL) is a portable implementation of the programming language LISP constructed at the University of Utah. The version 3.4 of PSL was implemented for Cray X-MP computers by KonradZuse-Zentrum Berlin; this implementation is based to an important part on the earlier implementation of PSL 3.2 at the University of Utah, Los Alamos National Laboratories and Cray Research Inc. ...
متن کاملDesign and Implementation of a Software System for Detecting Orthographical or Morphological Errors in Persian Words
This paper presents a new method for analyzing words in the Persian language context to find orthographical and structural errors regardless of the meaning. This technique tokenizes each word in a statement then tries to detect the kind of word, and analyses its correctness in terms of orthography and morphology by means of a lexicon. It should be noted that some words in the Persian language h...
متن کامل